#ifndef MAINDIALOG_H
#define MAINDIALOG_H

#include <BMenu>
#include <BButton>
#include <BCheckBox>
#include <BTreeWidget>
#include <BViewer>
#include <BCamera>
#include <BScene>
#include <BDialog>

#include "MyHandler.h"

using namespace BWE;

class MainDialog : public BDialog
{
public:
	MainDialog();
	~MainDialog();

protected:
	void slotImportFile();
	void slotExportFile();
	void slotResetScene();
	void slotFrameChecked();
	void slotLightingChecked();
	void slotItemSelected(BObject* object, const BValue& value);

protected:
	virtual void styleEvent(const BEvent& event);

protected:
	const char* primName(Primitive prim);
	void hideItemObject(BTreeItem* item);
	void showItemObject(BTreeItem* item);

private:
	BButton*			_importButton;
	BButton*			_exportButton;
	BButton*			_resetButton;
	BCheckBox*			_frameCheckBox;
	BCheckBox*			_lightingCheckBox;

	BTreeWidget*		_sceneTree;
	BViewer*			_viewer;
	BMenu*				_menu;

	BCamera*			_camera;
	MyHandler*			_handler;
	BScene*				_scene;

	BImageHolder		_nodeImage;
	BImageHolder		_shapeImage;
	BImageHolder		_elementImage;
};

#endif